* extensions/gegl-fixups.c: (conv_rgbaF_rgbAF), (init): added missing,
needed conversion.
svn path=/trunk/; revision=351
+2008-11-04 Øyvind Kolås <pippin@gimp.org>
+
+ * extensions/gegl-fixups.c: (conv_rgbaF_rgbAF), (init): added missing,
+ needed conversion.
+
2008-10-01 Øyvind Kolås <pippin@gimp.org>
* COPYING.LESSER: renamed to ..
}
+static long
+conv_rgbaF_rgbAF (unsigned char *srcc,
+ unsigned char *dstc,
+ long samples)
+{
+ float *src = (void *) srcc;
+ float *dst = (void *) dstc;
+ long n = samples;
+
+ while (n--)
+ {
+ float alpha = src[3];
+ dst[0] = src[0] * alpha;
+ dst[1] = src[1] * alpha;
+ dst[2] = src[2] * alpha;
+ dst[3] = alpha;
+ src += 4;
+ dst += 4;
+ }
+ return samples;
+}
+
+
+
#define conv_rgb8_rgbAF conv_rgb8_rgbaF
int init (void);
#define o(src, dst) \
babl_conversion_new (src, dst, "linear", conv_ ## src ## _ ## dst, NULL)
+ o (rgbaF, rgbAF);
o (rgb8, rgbaF);
o (rgb8, rgbAF);
o (rgba8, rgbaF);